using System;
using System.Collections.Generic;
using TTEngine.TTMath;

namespace TTEngine.Graphics
{

    public enum ImageFormat
    {
        RGBA,
        Gray,
    }

    public interface IAnimatedImage
    {
        int FrameCount
        {
            get;
        }
        IImageFrame this[int index]
        {
            get;
        }

    }

    public interface IImageFrame : IImage
    {
        int DelayInMs
        {
            get;
        }
    }
    //Image 可以是一种平台相关的图像资源，可以用他初始化Texture
    public interface IImage
    {
        uint Width
        {
            get;
        }
        uint Height
        {
            get;
        }
        ImageFormat Type
        {
            get;
        }
        byte[] GetData();

        byte GetGray(int x, int y);
        void SetGray(int x, int y, byte gray);
        Color32 GetRGBA(int x, int y);
        void SetRGBA(int x, int y, Color32 color);
    }





}